package com.zbkj.crmeb.supplier.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.common.CommonPage;
import com.common.PageParamRequest;
import com.github.pagehelper.PageInfo;
import com.zbkj.crmeb.front.request.ProductRequest;
import com.zbkj.crmeb.front.response.ProductResponse;
import com.zbkj.crmeb.store.request.CustomsRecordSearchRequest;
import com.zbkj.crmeb.store.request.SupplierOpenShopRequest;
import com.zbkj.crmeb.store.request.SupplierStoreProductSearchRequest;
import com.zbkj.crmeb.store.response.CustomsRecordResponse;
import com.zbkj.crmeb.store.response.StoreProductResponse;
import com.zbkj.crmeb.store.response.SupplierOpenShopResponse;
import com.zbkj.crmeb.supplier.model.SupplierOpenShop;

import java.util.Map;

/**
 * 供应商一键开店表
 *
 * @author lss
 * @email didiok@foxmail.com
 * @date 2024-11-18 17:36:49
 */
public interface SupplierOpenShopService extends IService<SupplierOpenShop> {

    /**
     * 获取产品列表Admin
     * @param request
     * @param pageParamRequest
     * @return
     */
    PageInfo<SupplierOpenShopResponse> getList(SupplierOpenShopRequest request, PageParamRequest pageParamRequest, Integer merId);

    PageInfo<SupplierOpenShopResponse> getListV2(SupplierOpenShopRequest request, PageParamRequest pageParamRequest);

    boolean updateImgById(SupplierOpenShop supplierOpenShop);

    Boolean createOrUpdate(SupplierOpenShopRequest supplierOpenShop, Integer merId);

    /**
     * 详情
     * @param id
     * @return
     */
    SupplierOpenShopResponse shopDetail(Integer id, Integer merId);

    PageInfo<StoreProductResponse> supplierProductList(SupplierStoreProductSearchRequest request, Integer supplierId);

    boolean deleteShopById(Integer id);

    CommonPage<ProductResponse> frontProductList(ProductRequest request, PageParamRequest pageParamRequest);

    /**
     * 一键开店列表
     * @param request
     * @param pageParamRequest
     * @return
     */
    PageInfo<SupplierOpenShopResponse> frontList(SupplierOpenShopRequest request, PageParamRequest pageParamRequest);
}

